package com.hualan.bean;

import com.alibaba.fastjson.annotation.JSONField;

import java.beans.Transient;
import java.math.BigDecimal;
import java.util.Date;

public class PanghuDomesticOrder {
    /**
     * 订单id
     */
    private Integer domesticOrderId;

    /**
     * 订单状态 -1, 已取消，1 待付款， 2 待接单， 3 已接单进行中， 4 已完成， 5 退款中， 6 已退款
     */
    private Integer orderStatus;

    /**
     * 订单创建时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderCreateTime;

    /**
     * 收货地址
     */
    private String deliveryAddress;

    /**
     * 收货地址详情
     */
    private String deliveryAddressDetail;

    /**
     * 收货联系人手机号
     */
    private String deliveryUserPhone;

    /**
     * 收货联系人名字
     */
    private String deliveryUserName;

    /**
     * 订单备注
     */
    private String orderNote;

    /**
     * 接单时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderReceiveTime;

    /**
     * 订单完成时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderCompleteTime;

    /**
     * 订单预计上门时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderVisitTime;

    /**
     * 家政师傅id
     */
    private Integer domesticMasterId;

    /**
     * 家政师傅名字
     */
    private String domesticMasterName;

    /**
     * 下单用户id
     */
    private Integer userId;

    /**
     * 下单用户联合id
     */
    private String userUnionid;

    /**
     * 下单用户小程序id
     */
    private String userAppletOpenid;

    /**
     * 订单号
     */
    private String orderNumber;

    /**
     * 订单取消时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderCancelTime;

    /**
     * 订单取消原因
     */
    private String orderCancelReason;

    /**
     * 订单显示状态 1 显示， 0 删除不显示
     */
    private Integer orderShowStatus;

    /**
     * 总价
     */
    private BigDecimal orderTotalPrice;

    /**
     * 总数
     */
    private Integer orderTotalNum;

    /**
     * 订单支付时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderPayTime;

    /**
     * 支付交易号
     */
    private String orderPayTransactionNo;

    /**
     * 订单退款时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderRefundTime;

    /**
     * 订单退款金额
     */
    private BigDecimal orderRefundAmount;

    /**
     * 退款手续费
     */
    private BigDecimal orderRefundFee;

    /**
     * 订单退款交易号
     */
    private String orderRefundTransactionNo;

    /**
     * 退款订单号
     */
    private String refundOrderNumber;

    /**
     * 退款申请时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date refundApplyTime;

    /**
     * 家政服务id
     */
    private Integer domesticServiceId;

    /**
     * 家政服务规格id
     */
    private Integer domesticServiceSpecId;

    // 订单关联的家政服务信息
    private PanghuDomesticService domesticService;

    // 订单关联的家政服务规格
    private PanghuDomesticServiceSpec domesticServiceSpec;

    /**
     * 获取订单id
     *
     * @return domestic_order_id - 订单id
     */
    public Integer getDomesticOrderId() {
        return domesticOrderId;
    }

    /**
     * 设置订单id
     *
     * @param domesticOrderId 订单id
     */
    public void setDomesticOrderId(Integer domesticOrderId) {
        this.domesticOrderId = domesticOrderId;
    }

    /**
     * 获取订单状态 -1, 已取消，1 待付款， 2 待接单， 3 已接单进行中， 4 已完成， 5 退款中， 6 已退款
     *
     * @return order_status - 订单状态 -1, 已取消，1 待付款， 2 待接单， 3 已接单进行中， 4 已完成， 5 退款中， 6 已退款
     */
    public Integer getOrderStatus() {
        return orderStatus;
    }

    /**
     * 设置订单状态 -1, 已取消，1 待付款， 2 待接单， 3 已接单进行中， 4 已完成， 5 退款中， 6 已退款
     *
     * @param orderStatus 订单状态 -1, 已取消，1 待付款， 2 待接单， 3 已接单进行中， 4 已完成， 5 退款中， 6 已退款
     */
    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    /**
     * 获取订单创建时间
     *
     * @return order_create_time - 订单创建时间
     */
    public Date getOrderCreateTime() {
        return orderCreateTime;
    }

    /**
     * 设置订单创建时间
     *
     * @param orderCreateTime 订单创建时间
     */
    public void setOrderCreateTime(Date orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }

    /**
     * 获取收货地址
     *
     * @return delivery_address - 收货地址
     */
    public String getDeliveryAddress() {
        return deliveryAddress;
    }

    /**
     * 设置收货地址
     *
     * @param deliveryAddress 收货地址
     */
    public void setDeliveryAddress(String deliveryAddress) {
        this.deliveryAddress = deliveryAddress;
    }

    /**
     * 获取收货地址详情
     *
     * @return delivery_address_detail - 收货地址详情
     */
    public String getDeliveryAddressDetail() {
        return deliveryAddressDetail;
    }

    /**
     * 设置收货地址详情
     *
     * @param deliveryAddressDetail 收货地址详情
     */
    public void setDeliveryAddressDetail(String deliveryAddressDetail) {
        this.deliveryAddressDetail = deliveryAddressDetail;
    }

    /**
     * 获取收货联系人手机号
     *
     * @return delivery_user_phone - 收货联系人手机号
     */
    public String getDeliveryUserPhone() {
        return deliveryUserPhone;
    }

    /**
     * 设置收货联系人手机号
     *
     * @param deliveryUserPhone 收货联系人手机号
     */
    public void setDeliveryUserPhone(String deliveryUserPhone) {
        this.deliveryUserPhone = deliveryUserPhone;
    }

    /**
     * 获取收货联系人名字
     *
     * @return delivery_user_name - 收货联系人名字
     */
    public String getDeliveryUserName() {
        return deliveryUserName;
    }

    /**
     * 设置收货联系人名字
     *
     * @param deliveryUserName 收货联系人名字
     */
    public void setDeliveryUserName(String deliveryUserName) {
        this.deliveryUserName = deliveryUserName;
    }

    /**
     * 获取订单备注
     *
     * @return order_note - 订单备注
     */
    public String getOrderNote() {
        return orderNote;
    }

    /**
     * 设置订单备注
     *
     * @param orderNote 订单备注
     */
    public void setOrderNote(String orderNote) {
        this.orderNote = orderNote;
    }

    /**
     * 获取接单时间
     *
     * @return order_receive_time - 接单时间
     */
    public Date getOrderReceiveTime() {
        return orderReceiveTime;
    }

    /**
     * 设置接单时间
     *
     * @param orderReceiveTime 接单时间
     */
    public void setOrderReceiveTime(Date orderReceiveTime) {
        this.orderReceiveTime = orderReceiveTime;
    }

    /**
     * 获取订单完成时间
     *
     * @return order_complete_time - 订单完成时间
     */
    public Date getOrderCompleteTime() {
        return orderCompleteTime;
    }

    /**
     * 设置订单完成时间
     *
     * @param orderCompleteTime 订单完成时间
     */
    public void setOrderCompleteTime(Date orderCompleteTime) {
        this.orderCompleteTime = orderCompleteTime;
    }

    /**
     * 获取订单预计上门时间
     *
     * @return order_visit_time - 订单预计上门时间
     */
    public Date getOrderVisitTime() {
        return orderVisitTime;
    }

    /**
     * 设置订单预计上门时间
     *
     * @param orderVisitTime 订单预计上门时间
     */
    public void setOrderVisitTime(Date orderVisitTime) {
        this.orderVisitTime = orderVisitTime;
    }

    /**
     * 获取家政师傅id
     *
     * @return domestic_master_id - 家政师傅id
     */
    public Integer getDomesticMasterId() {
        return domesticMasterId;
    }

    /**
     * 设置家政师傅id
     *
     * @param domesticMasterId 家政师傅id
     */
    public void setDomesticMasterId(Integer domesticMasterId) {
        this.domesticMasterId = domesticMasterId;
    }

    /**
     * 获取家政师傅名字
     *
     * @return domestic_master_name - 家政师傅名字
     */
    public String getDomesticMasterName() {
        return domesticMasterName;
    }

    /**
     * 设置家政师傅名字
     *
     * @param domesticMasterName 家政师傅名字
     */
    public void setDomesticMasterName(String domesticMasterName) {
        this.domesticMasterName = domesticMasterName;
    }

    /**
     * 获取下单用户id
     *
     * @return user_id - 下单用户id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 设置下单用户id
     *
     * @param userId 下单用户id
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 获取下单用户联合id
     *
     * @return user_unionid - 下单用户联合id
     */
    public String getUserUnionid() {
        return userUnionid;
    }

    /**
     * 设置下单用户联合id
     *
     * @param userUnionid 下单用户联合id
     */
    public void setUserUnionid(String userUnionid) {
        this.userUnionid = userUnionid;
    }

    /**
     * 获取下单用户小程序id
     *
     * @return user_applet_openid - 下单用户小程序id
     */
    public String getUserAppletOpenid() {
        return userAppletOpenid;
    }

    /**
     * 设置下单用户小程序id
     *
     * @param userAppletOpenid 下单用户小程序id
     */
    public void setUserAppletOpenid(String userAppletOpenid) {
        this.userAppletOpenid = userAppletOpenid;
    }

    /**
     * 获取订单号
     *
     * @return order_number - 订单号
     */
    public String getOrderNumber() {
        return orderNumber;
    }

    /**
     * 设置订单号
     *
     * @param orderNumber 订单号
     */
    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    /**
     * 获取订单取消时间
     *
     * @return order_cancel_time - 订单取消时间
     */
    public Date getOrderCancelTime() {
        return orderCancelTime;
    }

    /**
     * 设置订单取消时间
     *
     * @param orderCancelTime 订单取消时间
     */
    public void setOrderCancelTime(Date orderCancelTime) {
        this.orderCancelTime = orderCancelTime;
    }

    /**
     * 获取订单取消原因
     *
     * @return order_cancel_reason - 订单取消原因
     */
    public String getOrderCancelReason() {
        return orderCancelReason;
    }

    /**
     * 设置订单取消原因
     *
     * @param orderCancelReason 订单取消原因
     */
    public void setOrderCancelReason(String orderCancelReason) {
        this.orderCancelReason = orderCancelReason;
    }

    /**
     * 获取订单显示状态 1 显示， 0 删除不显示
     *
     * @return order_show_status - 订单显示状态 1 显示， 0 删除不显示
     */
    public Integer getOrderShowStatus() {
        return orderShowStatus;
    }

    /**
     * 设置订单显示状态 1 显示， 0 删除不显示
     *
     * @param orderShowStatus 订单显示状态 1 显示， 0 删除不显示
     */
    public void setOrderShowStatus(Integer orderShowStatus) {
        this.orderShowStatus = orderShowStatus;
    }

    /**
     * 获取总价
     *
     * @return order_total_price - 总价
     */
    public BigDecimal getOrderTotalPrice() {
        return orderTotalPrice;
    }

    /**
     * 设置总价
     *
     * @param orderTotalPrice 总价
     */
    public void setOrderTotalPrice(BigDecimal orderTotalPrice) {
        this.orderTotalPrice = orderTotalPrice;
    }

    /**
     * 获取总数
     *
     * @return order_total_num - 总数
     */
    public Integer getOrderTotalNum() {
        return orderTotalNum;
    }

    /**
     * 设置总数
     *
     * @param orderTotalNum 总数
     */
    public void setOrderTotalNum(Integer orderTotalNum) {
        this.orderTotalNum = orderTotalNum;
    }

    /**
     * 获取订单支付时间
     *
     * @return order_pay_time - 订单支付时间
     */
    public Date getOrderPayTime() {
        return orderPayTime;
    }

    /**
     * 设置订单支付时间
     *
     * @param orderPayTime 订单支付时间
     */
    public void setOrderPayTime(Date orderPayTime) {
        this.orderPayTime = orderPayTime;
    }

    /**
     * 获取支付交易号
     *
     * @return order_pay_transaction_no - 支付交易号
     */
    public String getOrderPayTransactionNo() {
        return orderPayTransactionNo;
    }

    /**
     * 设置支付交易号
     *
     * @param orderPayTransactionNo 支付交易号
     */
    public void setOrderPayTransactionNo(String orderPayTransactionNo) {
        this.orderPayTransactionNo = orderPayTransactionNo;
    }

    /**
     * 获取订单退款时间
     *
     * @return order_refund_time - 订单退款时间
     */
    public Date getOrderRefundTime() {
        return orderRefundTime;
    }

    /**
     * 设置订单退款时间
     *
     * @param orderRefundTime 订单退款时间
     */
    public void setOrderRefundTime(Date orderRefundTime) {
        this.orderRefundTime = orderRefundTime;
    }

    /**
     * 获取订单退款金额
     *
     * @return order_refund_amount - 订单退款金额
     */
    public BigDecimal getOrderRefundAmount() {
        return orderRefundAmount;
    }

    /**
     * 设置订单退款金额
     *
     * @param orderRefundAmount 订单退款金额
     */
    public void setOrderRefundAmount(BigDecimal orderRefundAmount) {
        this.orderRefundAmount = orderRefundAmount;
    }

    /**
     * 获取订单退款交易号
     *
     * @return order_refund_transaction_no - 订单退款交易号
     */
    public String getOrderRefundTransactionNo() {
        return orderRefundTransactionNo;
    }

    /**
     * 设置订单退款交易号
     *
     * @param orderRefundTransactionNo 订单退款交易号
     */
    public void setOrderRefundTransactionNo(String orderRefundTransactionNo) {
        this.orderRefundTransactionNo = orderRefundTransactionNo;
    }

    /**
     * 获取退款订单号
     *
     * @return refund_order_number - 退款订单号
     */
    public String getRefundOrderNumber() {
        return refundOrderNumber;
    }

    /**
     * 设置退款订单号
     *
     * @param refundOrderNumber 退款订单号
     */
    public void setRefundOrderNumber(String refundOrderNumber) {
        this.refundOrderNumber = refundOrderNumber;
    }

    /**
     * 获取退款申请时间
     *
     * @return refund_apply_time - 退款申请时间
     */
    public Date getRefundApplyTime() {
        return refundApplyTime;
    }

    /**
     * 设置退款申请时间
     *
     * @param refundApplyTime 退款申请时间
     */
    public void setRefundApplyTime(Date refundApplyTime) {
        this.refundApplyTime = refundApplyTime;
    }

    /**
     * 获取家政服务id
     *
     * @return domestic_service_id - 家政服务id
     */
    public Integer getDomesticServiceId() {
        return domesticServiceId;
    }

    /**
     * 设置家政服务id
     *
     * @param domesticServiceId 家政服务id
     */
    public void setDomesticServiceId(Integer domesticServiceId) {
        this.domesticServiceId = domesticServiceId;
    }

    /**
     * 获取家政服务规格id
     *
     * @return domestic_service_spec_id - 家政服务规格id
     */
    public Integer getDomesticServiceSpecId() {
        return domesticServiceSpecId;
    }

    /**
     * 设置家政服务规格id
     *
     * @param domesticServiceSpecId 家政服务规格id
     */
    public void setDomesticServiceSpecId(Integer domesticServiceSpecId) {
        this.domesticServiceSpecId = domesticServiceSpecId;
    }

    public PanghuDomesticService getDomesticService() {
        return domesticService;
    }

    public void setDomesticService(PanghuDomesticService domesticService) {
        this.domesticService = domesticService;
    }

    public PanghuDomesticServiceSpec getDomesticServiceSpec() {
        return domesticServiceSpec;
    }

    public void setDomesticServiceSpec(PanghuDomesticServiceSpec domesticServiceSpec) {
        this.domesticServiceSpec = domesticServiceSpec;
    }

    public BigDecimal getOrderRefundFee() {
        return orderRefundFee;
    }

    public void setOrderRefundFee(BigDecimal orderRefundFee) {
        this.orderRefundFee = orderRefundFee;
    }
}